#pragma once
#include <iostream>
#include <algorithm>
#include <unordered_map>
#include <unordered_set>
#include <unistd.h>
#include <assert.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <vector>
#include <map>
#include <set>
#include <functional>
#include <time.h>
#include <cstdlib>
#include <cstring>
using namespace std;
typedef function<void()> func;
void mnue()
{
    cout << "**************************************" << endl;
    cout << "*******1.任务一      2.任务二**********" << endl;
    cout << "*******3.任务三      4.任务四**********" << endl;
    cout << "************5.任务五*******************" << endl;
}
void test1()
{
    cout << "我是任务一" << endl;
}
void test2()
{
    cout << "我是任务二" << endl;
}
void test3()
{
    cout << "我是任务三" << endl;
}
void test4()
{
    cout << "我是任务四" << endl;
}
void test5()
{
    cout << "我是任务五" << endl;
}
    // 运用包装器
function<void()> f1 = test1;
function<void()> f2 = test2;
function<void()> f3 = test3;
function<void()> f4 = test4;
function<void()> f5 = test5;
unordered_map<int, func> m = {{1, f1}, {2, f2}, {3, f3}, {4, f4}, {5, f5}};
